package cn.com.css.taxInspection.system.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.validation.constraints.NotBlank;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import cn.com.css.taxInspection.system.vo.res.DeptRespNodeVO;
import cn.com.css.taxInspection.system.vo.res.PermissionRespNode;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 角色
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Accessors(chain = true)
@TableName("kf_jicha_helper.sys_role")
public class SysRole extends BaseEntity implements Serializable {

	private static final long serialVersionUID = 1L;

	@TableId
	private String id;

	@NotBlank(message = "名称不能为空")
	private String name;

	private String description;

	private Integer status;

	private Integer dataScope;

	@TableField(fill = FieldFill.INSERT)
	private Date createTime;

	// @TableField(fill = FieldFill.INSERT_UPDATE)
	@TableField(updateStrategy = FieldStrategy.IGNORED)
	private Date updateTime;

	@TableField(fill = FieldFill.INSERT)
	private Integer deleted;

	@TableField(exist = false)
	private List<PermissionRespNode> permissionRespNodes;
	@TableField(exist = false)
	private List<DeptRespNodeVO> deptRespNodes;

	@TableField(exist = false)
	private String startTime;

	@TableField(exist = false)
	private String endTime;

	@TableField(exist = false)
	private List<String> permissions;

	@TableField(exist = false)
	private List<String> depts;

}